#ifndef _IMAGEDIALOG_H_
#define _IMAGEDIALOG_H_

#include <QDialog>
#include <QDialog>
#include <QLabel>
#include <QVBoxLayout>
#include <QPixmap>
#include <QImage>

class ImageDialog : public QDialog {
    Q_OBJECT
   public:
    explicit ImageDialog(const QImage& image, QWidget* parent = nullptr)
        : QDialog(parent) {
        auto* label = new QLabel(this);
        label->setPixmap(QPixmap::fromImage(image));
        label->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
        label->setScaledContents(true);  // 让QLabel根据图片大小自动调整

        auto* layout = new QVBoxLayout(this);
        layout->addWidget(label);

        // 根据图片调整窗口大小
        adjustSize();  // 这一步将根据内部widget的大小（包括QLabel和它的内容）来调整窗口大小
    }
};

#endif  // _IMAGEDIALOG_H_
